package com.xkcyy.climb.meta;

import java.util.List;

/**
 * KProperty
 *
 * @author yuand
 * @date 2024/3/16
 **/
public class KProperty extends AbstractKObject{
    /**
     * 所属类code
     */
    private String belongClassCode;

    /**
     * 名称
     */
    private String name;
    /**
     * 名称
     */
    private String code;
    /**
     * 别名
     */
    private String alias;
    /**
     * 列名
     */
    private String columnName;
    /**
     * 数据类型;1.字符2.整数3.小数4.布尔5.ID6.日期时间7.大文本
     */
    private String dataType;
    /**
     * 长度
     */
    private Integer length;
    /**
     * 小数位
     */
    private Integer scale;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 可选范围
     *
     */
    private String range;

    /**
     * 是否引用
     */
    private boolean referenced;
    /**
     * 是否只读
     */
    private boolean readonly;
    /**
     * 是否可空
     */
    private boolean nullable;
    /**
     * 是否可见
     */
    private boolean visible;
    /**
     * 是否可用
     */
    private boolean enabled;
    /**
     * 是否预定义
     */
    private boolean predefined;

    /**
     * 编辑方式;101.单行文本102.多行文本103.数字编辑框
     */
    private String editType;
    /**
     * 编辑配置
     */
    private String editConfig;
    /**
     * 显示格式化
     */
    private String displayFormat;

    /**
     * 引用类code
     */
    private String referencedClassCode;

    /**
     * 引用信息
     */
    private List<KPropertyReference> references;

    /**
     * 字典项
     */
    private KDictionary dictionary;

}
